Delta Lake とは

您所在的位置:网站首页 databricks delta Delta Lake とは

Delta Lake とは

2023-08-21 13:54| 来源: 网络整理| 查看: 265

Delta Lake とは [アーティクル] 08/08/2023

Delta Lake は、Databricks Lakehouse Platform にデータとテーブルを格納するための基盤を提供する最適化されたストレージ レイヤーです。 Delta Lake は、ACID トランザクションとスケーラブルなメタデータ処理のためのファイルベースのトランザクション ログを使用して Parquet データ ファイルを拡張するオープン ソース ソフトウェアです。 Delta Lake は Apache Spark API と完全に互換性があり、構造化ストリーミングとの緊密な統合のために開発されたため、データの 1 つのコピーをバッチ操作とストリーミング操作の両方に 簡単に使用でき、大規模な増分処理を提供できます。

Delta Lake は、Azure Databricks でのすべての操作の既定のストレージ形式です。 特に指定がない限り、Azure Databricks 上のすべてのテーブルは Delta テーブルです。 Databricks はもともと Delta Lake プロトコルを開発し、オープンソース プロジェクトに積極的に貢献し続けています。 Databricks Lakehouse Platform の最適化と製品の多くは、Apache Spark と Delta Lake によって提供される保証に基づいて構築されています。 Azure Databricks の最適化の詳細については、「Azure Databricks の最適化に関する推奨事項」を参照してください。

Delta Lake SQL コマンドの参照情報については、「Delta Lake ステートメント」を参照してください。

Delta Lake トランザクション ログには、ログを読み取るために任意のシステムで使用できる、適切に定義されたオープン プロトコルがあります。 「デルタ トランザクション ログ プロトコル」を参照してください。

Delta Lake の概要

Azure Databricks のすべてのテーブルは、既定で Delta テーブルです。 Apache Spark DataFrames または SQL を使用しているかどうかにかかわらず、既定の設定でデータをレイクハウスに保存するだけで、Delta Lake のすべての利点を得ることができます。

テーブルの作成、読み取り、書き込み、データの更新など、基本的な Delta Lake 操作の例については、「チュートリアル: Delta Lake」を参照してください。

Databricks には、Delta Lake のベスト プラクティスに関する多くの推奨事項があります。

Delta Lake へのデータの変換と取り込み

Azure Databricks には、レイクハウスへのデータの読み込みを高速化および簡略化するための製品が多数用意されています。

Delta Live Tables COPY INTO 自動ローダー データの追加 UI Parquet または Iceberg データを Delta Lake に増分変換する Parquet または Iceberg データの Delta Lake への 1 回限りの変換 サードパーティ パートナー

インジェスト オプションの完全なリストについては、「Azure Databricks Lakehouse にデータを読み込む」を参照してください。

Delta Lake テーブルの更新と変更

Delta Lake を使用したアトミック トランザクションには、データとメタデータを更新するための多くのオプションが用意されています。 Databricks は、テーブルの破損を回避するために、Delta Lake ファイル ディレクトリ内のデータ とトランザクション ログ ファイルを直接操作しないことを推奨しています。

Delta Lake では、マージ操作を使用したアップサートがサポートされています。 Delta Lake には、フィルターとパーティションに基づいて選択的に上書きするための多数のオプションが用意されています。 データを書き換えることなく、手動または自動でテーブル スキーマを更新できます。 列マッピングを使用すると、データを書き換えずに列の名前を変更または削除できます。 Delta Lake での増分およびストリーミング ワークロード

Delta Lake は、Azure Databricks での構造化ストリーミング用に最適化されています。 Delta Live Tables は、簡素化されたインフラストラクチャの展開、拡張スケーリング、マネージド データの依存関係を使用して、ネイティブ機能を拡張します。

テーブルのストリーミング読み取りと書き込み Azure Databricks で Delta Lake 変更データ フィードを使用する ジョブ間でべき等の書き込みを有効にする 前のバージョンのテーブルのクエリ

Delta テーブルに書き込むたびに、新しいテーブル バージョンが作成されます。 トランザクション ログを使用して、テーブルの変更を確認し、以前のテーブル バージョンに対してクエリを実行できます。 「Delta Lake テーブル履歴を操作する」を参照してください。

Delta Lake スキーマの機能強化

Delta Lake によって書き込み時にスキーマが検証され、テーブルに書き込まれるすべてのデータが設定した要件と一致することが確認されます。

Delta Lake のスキーマ検証 Azure Databricks の制約 Delta Lake で生成された列を使用する カスタム メタデータを使用して Delta Lake テーブルをエンリッチする Delta Lake を使用したファイルの管理とデータのインデックス作成

Azure Databricks によって、データ ファイルのサイズと履歴に保持されるテーブル バージョンの数に影響を与える Delta Lake の多くの既定のパラメーターが設定されます。 Delta Lake では、メタデータ解析と物理データ レイアウトの組み合わせを使用して、クエリを実行するためにスキャンされるファイルの数を減らします。

Delta テーブルに Liquid Clustering クラスタリングを使用する Delta Lake の Z オーダー インデックスを使用したデータのスキップ Delta Lake で optimize を使用してデータ ファイルを圧縮する vacuum を使用して未使用のデータ ファイルを削除する データ ファイル サイズを制御するように Delta Lake を構成する Delta Lake 設定の構成と確認

Azure Databricks では、Delta Lake テーブルのすべてのデータとメタデータがクラウド オブジェクト ストレージに格納されます。 多くの構成は、テーブル レベルまたは Spark セッション内で設定できます。 Delta テーブルの詳細を確認して、構成されているオプションを確認できます。

詳細を記述して Delta Lake テーブルの詳細を確認する Delta テーブル プロパティのリファレンス Delta Lake のストレージ資格情報を構成する Delta Lake と Delta Live Tables を使用したデータ パイプライン

Azure Databricks では、データのクリーニングとエンリッチが行われるときに、ユーザーがメダリオン アーキテクチャを利用して一連のテーブルを介してデータを処理することを推奨しています。 Delta Live Tables を使用すると、最適化された実行とインフラストラクチャのデプロイとスケーリングの自動化により、ETL ワークロードが簡略化されます。

Delta Lake 機能のトラブルシューティング

すべての Delta Lake 機能が Databricks Runtime のすべてのバージョンにあるわけではありません。 Delta Lake のバージョン管理に関する情報と、よく寄せられる質問への回答については、次の記事を参照してください。

Azure Databricks で Delta Lake 機能の互換性を管理する方法 マニフェスト ファイルを作成する Delta Lake API のドキュメント

Delta テーブルに対するほとんどの読み取りおよび書き込み操作では、Spark SQL または Apache Spark DataFrame API を使用できます。

Delta Lake 固有の SQL ステートメントについては、「Delta Lake のステートメント」を参照してください。

Azure Databricks では、Databricks Runtime の Delta Lake API とのバイナリ互換性を確保します。 各 Databricks Runtime バージョンにパッケージ化された Delta Lake API バージョンを表示するには、Databricks Runtime リリース ノートの関連記事のシステム環境に関するセクションを参照してください。 Python、Scala、Java 用の Delta Lake API が存在します。

Python API ドキュメント Scala API ドキュメント Java API ドキュメント


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3